Attitude angle processor and attitude angle processing method

ABSTRACT

A posture angle processing apparatus that can obtain correct information for a posture angle comprises: a magnetic sensor, a gravitational acceleration sensor, a position information acquisition device, for obtaining the absolute location of a current point, and a dip angle database device wherein a correlation of the absolute location and a geomagnetic dip angle at the corresponding point is stored. Based on the absolute location of the current point, a dip angle estimation and determination device reads, from the dip angle database device, the geomagnetic dip angle at the current point, employs the magnetic vector detected by the magnetic sensor and the gravitational acceleration vector detected by the gravitational acceleration sensor to calculate an angle formed by a horizontal plane and the magnetic vector, compares the angle formed by the magnetic vector and the horizontal plane with the geomagnetic dip angle of the current point, and, when an error between the angle and the geomagnetic dip angle is within a predetermined range, outputs a true signal indicating that the magnetic vector detected by the magnetic sensor is reliable as a geomagnetic vector, or in other cases, outputs a false signal indicating that the current magnetic vector is not reliable.

TECHNICAL FIELD

The present invention relates to a posture angle processing apparatusthat when carried by a person, for example, can correctly obtaininformation as to the posture angle of the person, and a posture angleprocessing method. In particular, the present invention relates to aposture angle processing apparatus that can employ a group of mountable,compact, light and inexpensive sensors for obtaining an absolute postureangle for an object to be measured (a small device such as a cellularphone or a PDA (Personal Digital Assistant), a human body, etc.), and aposture angle processing method.

RELATED ART

A technique whereby a magnetic sensor and a tilt angle sensor, or agravitational acceleration sensor is employed to obtain an absoluteposture angle is a known conventional technique. Also, a techniquewhereby an angular velocity sensor is employed to measure a posturechange relative to a specific absolute reference posture angle is aknown conventional technique. There have been attempts to employ thesesensors together so as to more accurately and robustly measure theabsolute posture angle of an object to measured. [Patent Document 1]Japanese Patent No. 3,038,452 [Patent Document 2] JP-A-Heill-211479

DISCLOSURE OF THE INVENTION

According to the current method whereby the absolute posture angle isbased on a geomagnetic vector that is estimated by using a magneticsensor, since especially in an indoor environment disruption of themagnetic field occurs due to the use of various electronic apparatusesand to the structures of buildings, problems exist in that it isdifficult to measure geomagnetism reliably and that the sensor can notbe stably and correctly operated in an environment having a wide range.

Further, according to the method for measuring the relative postureangle using a gyrosensor and an acceleration sensor, an angular velocityvector measured by the gyrosensor and an acceleration vector measured bythe acceleration vector are added together, and each time, the absoluteposture angle that serves as a reference is updated to obtain anestimated relative posture angle. However, because of a drift component,etc., included in the output of the gyrosensor, a problem here is thatit is difficult for the absolute posture angle to be continuouslyobtained for an extended period of time.

The gyrosensor and the acceleration sensor, which are employed for aninertial measurement unit (IMU) mounted in an airplane, can measure, toa very high degree of accuracy, a change in the posture angle relativeto the absolute posture angle that serves as a reference. However,because of size, weight and economic problems, it is difficult for toattach these sensors to a small device or to a human body.

It is, therefore, one objective of the present invention to provide aposture angle processing apparatus that, even in an environment wherein,due to the disruption of the magnetic field, it is difficult to stablyobtain a reliable geomagnetic vector, can accurately obtain informationfor the posture angle of a person, for example, when carried by theperson, and a posture angle processing method.

The present invention is characterized in that a posture angleprocessing apparatus and a posture angle processing method areestablished by employing the following basic principle.

Specifically, an angle formed by a magnetic vector, measured by amagnetic sensor, and a gravitational acceleration vector, measured by agravitational acceleration sensor (or a tilt angle sensor), can beemployed to calculate an angle that is formed by a horizontal plane andthe geomagnetic vector. Thus, based on information (e.g., the latitudeand longitude) for a current location, the obtained angle is comparedwith a dip angle extracted from a previously prepared database. This dipangle is uniquely defined in accordance with the latitude and thelongitude. The database for the dip angle can be constructed, forexample, by employing a geomagnetic map issued by the GeographicalSurvey Institute. So long as the magnetic sensor can measure the correctgeomagnetic vector, the two angles should match. When the two angles donot match, it is assumed that disruption of the magnetic field ispresent, and the output of the magnetic sensor is regarded asunreliable.

Thus, according to the basic principle of the present invention, theposture angle processing apparatus is designed so that when the measureddip angle and the dip angle in the database match a true signal isoutput, which indicates the output of the magnetic sensor is reliable,or so that in the other case a false signal is output, which indicatesthat the output of the magnetic sensor is unreliable.

When the obtained dip angle formed by the horizontal plane and themagnetic vector is compared with the actual dip angle only at a fixedpoint, the two angles may match by coincident, and a signal may beoutput indicating that the magnetic vector that is unreliable isregarded as being reliable (an erroneous detection). Therefore,according to the basic principle of the present invention, an apparatusfor detecting the continuous movement of an object to be measured isprovided, so that the dip angle formed by the horizontal plane and themagnetic vector is continuously compared, at different points, with theactual dip angle, and the possibility the above described erroneousdetection will occur is reduced. When a person is the object to bemeasured, an apparatus for detecting that the person is walking, thebasic movement form for a person, is employed as the apparatus fordetecting movement, and an acceleration sensor is used as the sensor fordetecting walking.

Thus, according to a first aspect of the present invention, there isprovided with a posture angle processing apparatus including:

a magnetic sensor for detecting magnetic vectors, for three axes thatintersect each other;

a gravitational acceleration sensor, for measuring gravitationalacceleration vectors for three axes that intersect each other;

a position information acquisition device, for obtaining a currentabsolute position;

a dip angle database device, for storing a correlation with an absoluteposition and a geomagnetic dip angle; and

a dip angle estimation and determination device, for calculating anangle formed by a magnetic vector, measured by the magnetic sensor, anda gravitational acceleration vector, measured by the gravitationalacceleration sensor, to obtain an angle that is formed by a horizontalplane and the magnetic vector, and for, based on the current positionobtained by the position information acquisition device, comparing a dipangle extracted from the dip angle database device with the angle formedby the horizontal plane and the magnetic vector, and when a differenceis within a predetermined range, outputting a true signal, and in theother case, outputting a false signal.

According to a second aspect of the invention, there is provided withthe posture angle processing apparatus in addition to the first aspect,further including:

a movement detection device, for detecting the moving state of an objectto be measured; and

a signal output device, for, when the movement detection device isdetecting a moving state exceeding a predetermined moving distance or amoving time period and when the dip angle estimation and determinationdevice in the first aspect is continuously outputting a true signal,outputting a true signal, and in other cases, outputting a false signal.

According to a third aspect of the invention, there is provided with theposture angle processing apparatus in the first aspect, furtherincluding:

an absolute posture angle estimation device, for, when the dip angleestimation and determination device is outputting a true signal,regarding as a geomagnetic vector a magnetic vector measured by themagnetic sensor, and for estimating and outputting an absolute postureangle, based on a gravitational acceleration vector, measured by thegravitational acceleration sensor, and the magnetic vector. When thegeomagnetic vector and the gravitational acceleration vector (i.e., avertical direction) are provided, theoretically, the absolute postureangle of the sensor is uniquely determined.

According to a fourth aspect of the invention, there is provided withthe posture angle processing apparatus in the second aspect, wherein aperson is employed as the object to be measured, and a walking detectiondevice for detecting that the person is walking is employed as thedevice for detecting the moving state.

According to a fifth aspect of the invention, there is provided with theposture angle processing apparatus in the second aspect, furtherincluding:

an absolute posture angle estimation device, for, when the dip angleestimation and determination device is outputting a true signal,regarding as a geomagnetic vector a magnetic vector measured by themagnetic sensor, and for calculating an absolute posture angle, based ona gravitational acceleration vector, measured by the gravitationalacceleration sensor, and the magnetic vector. So long as the geomagneticvector and the gravitational acceleration vector (i.e., a verticaldirection) are provided, theoretically the absolute posture angle of thesensor is uniquely determined. Thus, the absolute posture angle isobtained.

According to a sixth aspect of the invention, there is provided with theposture angle processing apparatus in addition to the fourth aspect,further including:

a walking detection device including; an acceleration sensor thatmeasures acceleration vectors for three axes that intersect each other,for detecting a vertical direction from a gravitational accelerationvector detected by the gravitational acceleration sensor, for detectinga typical pattern created by the walking of a person by examining acomponent relative to the vertical direction of an acceleration vectorthat is detected by an acceleration sensor, for detecting a typicalpattern created by the walking of a person by examining a componentrelative to a plane that intersects the vertical direction of theacceleration vector, and for employing the two pattern detection resultsto detect the person is walking.

According to a seventh aspect of the invention, there is provided withthe posture angle processing apparatus in addition to the third aspect,further including:

an absolute posture angle output device including; an angular velocitysensor that detects angular velocity vectors along three axes thatintersect each other, for, when the dip angle estimation anddetermination device is outputting a true signal, outputting as acurrent absolute posture angle an absolute posture angle output by theabsolute posture angle estimation device, and for, when the dip angleestimation and determination device is outputting a false signal, addingangular velocity vectors, measured by the angular velocity sensor whileusing, as a reference, the last absolute posture angle output as thecurrent absolute posture angle, and estimating and outputting a currentabsolute posture angle.

According to an eighth aspect of the invention, there is provided withthe posture angle processing apparatus in addition to the fifth aspect,further including:

a device including; an angular velocity sensor for detecting angularvelocity vectors along three axes that intersect each other, for, whenthe dip angle estimation and determination device is outputting a truesignal, outputting as a current absolute posture angle an absoluteposture angle output by the absolute posture angle estimation device,and for, when the dip angle estimation device is outputting a falsesignal, adding angular velocity vectors measured by the angular velocityvector while using, as a reference, the last absolute posture angle thatis output as the current absolute posture angle, and estimating andoutputting a current absolute posture angle.

According to a ninth aspect of the invention, first, by employing amagnetic vector depression angle calculation member, magnetic vectorsfor three axes that are obtained by measuring a magnetic vector and thatintersect each other, and gravitational acceleration vectors for threeaxes that are obtained by measuring gravitational acceleration and thatintersect each other are employed to calculate angles formed by themagnetic vectors and the gravitational acceleration vector, i.e., anglesformed by a horizontal plane and the magnetic vectors. In parallel tothis calculation, a database wherein a dip angle database is located isexamined by using, as a search key, the absolute position of thelocation obtained in accordance with position information, and the angleof dip of the geomagnetism at the current location is acquired.Comparison member compares each of the angles formed by the horizontalplane and the magnetic vectors with the obtained dip angle, and when adifference obtained by the comparison is within a predetermined range, atrue signal is output, indicating the magnetic vectors are reliable. Inthe other case, a false signal is output, indicating that the magneticvectors are not reliable.

According to a tenth aspect of the invention, since in the ninth aspect,the angle formed by the horizontal plane and the magnetic vector iscompared with the actual dip angle only at a fixed point, the twosignals may match by coincidence, and a true signal, indicating that theunreliable magnetic vector is reliable, may be output (an erroneousdetection). In the tenth aspect, in addition to the ninth aspect, amovement detection member for detecting the continuous movement of anobject to be measured is employed. When the movement detection member isdetecting the continuous movement, and is continuously outputting a truesignal, the true signal is output, or in the other case, a false signalis output. Therefore, since the angle formed by the horizontal plane andthe magnetic vector is continuously compared with the actual dip angleat different points, the possibility an erroneous detection will be madecan be reduced.

According to an eleventh aspect of the invention, there is provided withthe posture angle processing apparatus in addition to the ninth aspect,wherein a magnetic vector obtained by the magnetic sensor is regarded asa geomagnetic vector, and the geomagnetic vector and a gravitationalacceleration vector obtained by the gravitational acceleration sensorare employed together to estimate and output a current absolute postureangle. Further, when a true signal indicating that the current output ofthe magnetic sensor is being output, a true signal, indicating that theabsolute posture angle that is output is reliable, is output, and inother cases, a false signal, indicating that the absolute posture anglethat is output is not reliable, is output.

According to a twelfth aspect of the invention, a walking detectionmember for detecting that a person is walking person is employed as themovement detection member, in the tenth aspect, that detects continuousmovement, while assuming a person or a device mounted on a person is anobject to be measured.

According to a thirteenth aspect of the invention, there is providedwith the posture angle processing apparatus in addition to the tenthaspect, a magnetic vector obtained by the magnetic sensor is regarded asa geomagnetic vector, and an absolute posture angle estimation memberestimates and outputs a current absolute posture angle by employingtogether the geomagnetic vector and a gravitational acceleration vector,which is obtained by the gravitational acceleration sensor. When a truesignal, indicating that the current output of the magnetic sensor isreliable, is being output, a true signal, indicating that the absoluteposture angle that is output is reliable, is output, and in the othercase, a false signal, indicating that the absolute posture angle that isbeing output is not reliable, is output.

According to a fourteenth aspect of the invention, there is providedwith the posture angle processing apparatus in the twelfth aspect,wherein an acceleration vector is measured, and a typical accelerationpattern created by a person when walking is detected in order toidentify the presence or absence of walking. Since when a person iswalking there are characteristic patterns in the acceleration componentsin the vertical direction and in the direction of travel, these patternsmust be identified. In order to detect the vertical direction, agravitational acceleration sensor (or a tilt angle sensor) is employed.Of the outputs of the acceleration sensor, the direction that is acomponent projected onto a plane (i.e., the horizontal plane)perpendicular to the vertical direction and in which the amplitude isthe maximum in a time series is regarded as the direction of travel. Bydetecting a pattern that appears in the acceleration component in thisdirection, that a person is walking can be detected more accurately thanby observing the acceleration component only in the vertical direction.

According to a fifteenth aspect, there is provided with the invention inaddition to the eleventh aspect, further including:

an angle velocity vector measurement member for measuring angularvelocity vectors along three axes that intersect each other. When a truesignal, indicating that the absolute posture angle that is currentlyoutput is reliable, is being output, this absolute posture angle isobtained as a reference absolute posture angle and is output as acurrent absolute posture angle. In the other case, the referenceabsolute posture angle and angular velocity vectors obtained by theangular velocity vector measurement member are added together to updatethe reference absolute posture angle, and the updated reference absoluteposture angle is output.

According to a sixteenth aspect of the invention, there is provided withthe posture angle processing apparatus in addition to the thirteenthaspect, further including: a member for measuring an angular velocityvector. When a true signal, indicating that an absolute posture anglethat is currently output is reliable, is being output, the absoluteposture angle is obtained as a reference absolute posture angle and isoutput as a current absolute posture angle. In the other case, thereference absolute posture angle and an angular velocity vector obtainedby the member that measures an angular velocity vector are addedtogether to update a reference absolute posture angle, and the updatedreference absolute posture angle is output.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing a first aspect of the presentinvention;

FIG. 2 is a block diagram showing a second aspect of the presentinvention;

FIG. 3 is a block diagram showing a third aspect of the presentinvention;

FIG. 4 is a block diagram showing a fourth aspect of the presentinvention;

FIG. 5 is a block diagram showing a fifth aspect of the presentinvention;

FIG. 6 is a block diagram showing a sixth aspect of the presentinvention;

FIG. 7 is a block diagram showing a seventh aspect of the presentinvention;

FIG. 8 is a block diagram showing an eighth aspect of the presentinvention;

FIG. 9 is a block diagram showing a ninth aspect of the presentinvention;

FIG. 10 is a block diagram showing a tenth aspect of the presentinvention;

FIG. 11 is a block diagram showing an eleventh aspect of the presentinvention;

FIG. 12 is a flowchart showing the processing corresponding to theeleventh aspect;

FIG. 13 is a block diagram showing a twelfth aspect of the presentinvention;

FIG. 14 is a flowchart showing the processing corresponding to thetwelfth aspect;

FIG. 15 is a block diagram showing a thirteenth aspect of the presentinvention;

FIG. 16 is a flowchart showing the processing corresponding to thethirteenth aspect;

FIG. 17 is a block diagram showing a fourteenth aspect of the presentinvention;

FIG. 18 is a flowchart showing the processing corresponding to thefourteenth aspect;

FIG. 19 is a block diagram showing a fifteenth aspect of the presentinvention;

FIG. 20 is a flowchart showing the processing corresponding to thefifteenth aspect;

FIG. 21 is a block diagram showing a sixteenth aspect of the presentinvention;

FIG. 22 is a flowchart showing the processing corresponding to thesixteenth aspect;

FIG. 23 is a block diagram showing a seventeenth aspect of the presentinvention;

FIG. 24 is a flowchart showing the processing corresponding to theseventeenth aspect;

FIG. 25 is a block diagram showing an eighteenth aspect of the presentinvention;

FIG. 26 is a first flowchart showing the processing corresponding to theeighteenth aspect;

FIG. 27 is a second flowchart showing the processing corresponding tothe eighteenth aspect;

FIG. 28 is a third flowchart showing the processing corresponding to theeighteenth aspect;

FIG. 29 is a diagram for explaining a pattern for a change inacceleration while walking;

FIG. 30 is a block diagram showing a nineteenth aspect of the presentinvention;

FIG. 31 is a flowchart showing the processing corresponding to thenineteenth aspect;

FIG. 32 is a block diagram showing a twentieth aspect of the presentinvention;

FIG. 33 is a flowchart showing the processing corresponding to thetwentieth aspect;

FIG. 34 is a diagram for explaining a relationship for a geomagneticvector, a gravitational acceleration vector and a horizontal direction;

FIG. 35 is a diagram for explaining the data structure of a dip angledatabase device; and

FIG. 36 is a diagram for explaining the data structure of a yaw angledatabase device.

BEST MODES FOR CARRYING OUT THE INVENTION

FIG. 1 is a block diagram showing a first aspect of the presentinvention. In the aspect shown in FIG. 1, a magnetic sensor 101 is anapparatus for measuring magnetic vectors for three axes at an object tobe measured, and is provided by employing together, for example,magnetic sensors HMC1052 and HMC1051Z, which are marketed by Honey wellCorp. A gravitational acceleration sensor 102 is an apparatus formeasuring gravitational acceleration vectors for three axes thatintersect each other at an object to be measured, and is provided byemploying, for example, acceleration sensor ADXL202, which is marketedby Analog Devices Corp., and a digital filter, or by using sensor module3DM-G, which is produced and sold by MicroStrain Corp.

A position information acquisition device 103 is a device for obtainingthe absolute location of an object to be measured, and as an example, adevice for receiving a signal from a GPS (Global Positioning System)satellite or a device, such as a cellular phone or a PHS (PersonalHandyphone System), that obtains base station information is employed.As another example, a device, such as a beacon, for receiving a wavesignal or an infrared signal or a device that obtains a current locationby comparing an image, obtained by a CCD camera, with images in an imagedatabase, wherein photographed position information is registered inadvance, is employed. By using such a device, the absolute position ofthe current location can be obtained by using a normalized expression(e.g., the longitude and the latitude description).

A magnetic vector depression angle calculation device 104 employsmagnetic vectors for three axes obtained by the magnetic sensor 101 andgravitational acceleration vectors for three axes obtained by thegravitational acceleration sensor 102, calculates angles formed by themagnetic vectors and the gravitational acceleration vectors, andcalculates a horizontal plane and a magnetic vector, based on theobtained results. The magnetic vector depression angle calculationdevice is provided by using a special operation circuit or amicroprocessor (CPU), a program for a general-purpose computer, etc. Therelationship of a geomagnetic vector, a gravitational accelerationvector and the horizontal direction is as shown in FIG. 34, and inaccordance with this relationship, the geomagnetic vector and thegravitational acceleration vector, the dip angle and the horizontaldirection are determined.

A current location dip angle acquisition device 106 is a device thatconverts the absolute location obtained by the position informationacquisition device 103 into a location having a general-purposeexpression form (e.g., a longitude and latitude expression), and thatissues an inquiry to a dip angle database device 107 while using thisexpression form as a key and obtains, as a reply, the geomagnetic dipangle at the current location. This device is provided by using aspecial operation circuit or a microprocessor (CPU), a program for ageneral-purpose computer, etc.

The dip angle database device 107 is a device that includes a databasewherein absolute locations and corresponding dip angles are stored incorrelation with each other, and a mechanism for comparing andextracting these data. The dip angle database device 107 is provided byusing a storage medium, such as a magnetic disk or an optical disk, onwhich the database data are stored, a special operation circuit, whichobtains a geomagnetic dip angle by using the absolute location as a key,or a microprocessor (CPU), a program for a general-purpose computer,etc. As shown in FIG. 35, a table form wherein absolute locations anddip angles are correlated with each other, for example, is employed asthe data form for the database of the dip angle database device 107.

A comparison and signal output device 105 is a device that compares withthe dip angle received from the current location dip angle acquisitiondevice 106 the dip angle received from the magnetic vector depressionangle calculation device 104, and that outputs a true signal when adifference in the two angles is within a predetermined range, or outputsa false signal in other cases. The comparison and signal output device105 is provided by using a special operation circuit or a microprocessor(CPU), having a comparison and conditional branching operation functionand an output function, a program for a general-purpose computer, etc. Adip angle estimation and determination module 110 that includes thesedevices is provided as a processing module that includes the magneticvector depression angle calculation device 104, the comparison andsignal output device 105, the current location dip angle acquisitiondevice 106 and the dip angle database device 107, and is not only theessential portion of a posture angle processing apparatus of the presentinvention, but also serves as a posture angle processing apparatusaccording to the first aspect of the present invention.

FIG. 2 is a block diagram showing a second aspect of the presentinvention. In FIG. 2, the same reference numerals as in the first aspectare used to denote identical components. A movement detection device 201is a device for detecting whether an object to be measured is moving.When the object is an automobile, a speedometer, for example, can beemployed. When the object is an airplane, a device that calculates atime-sequence change (a mmoving vector between the previous location andtime and the current location and time) for the absolute positioninformation received from a GPS satellite, or a ground speedometer, forexample, can be employed. When a human being is the object to bemeasured, a pedometer can be employed. An apparatus 110 is a processingmodule explained while referring to FIG. 1. Specifically, as previouslydescribed, the apparatus 110 includes a magnetic vector depression anglecalculation device 104, a comparison and signal output device 105, acurrent location dip angle acquisition device 106 and a dip angledatabase device 107.

A signal output device 202 is a device that outputs a true signal onlywhen the movement detection device 201 is detecting the continuousmovement of an object to be measured, at the same time as the dip angleestimation and determination module 110, which is the above describedprocessing module, is continuously outputting a true signal, and thatoutputs a false signal in other cases. The signal output device 202 isprovided by using a special operation circuit or a microprocessor (CPU)that includes a comparison and conditional branching operation functionand a temporary storage device, a program for a general-purposecomputer, etc.

FIG. 3 is a block diagram showing a third aspect of the presentinvention. In the aspect shown in FIG. 3, a horizontal plane is obtainedin accordance with gravitational acceleration vectors for three axesmeasured by a gravitational acceleration sensor 102, and thereafter,magnetic vectors for three axes, measured by a magnetic vector 101, areregarded as geomagnetic vectors, and the current absolute posture angleis calculated, based on the horizontal plane and the geomagneticvectors. An absolute posture angle estimation device 301 is a device forperforming an operation for calculating the absolute posture angle andfor outputting the absolute posture angle, and is provided by using amicroprocessor (CPU), a program for a general-purpose computer, etc. Aposture angle processing apparatus 310 that includes the absoluteposture estimation device 301 and a dip angle estimation anddetermination module 110 is provided as a processing module. And in theposture angle processing apparatus 310, the signal output by the dipangle estimation and determination module 110 is employed as a signalindicating that the absolute posture angle that is obtained and outputby the absolute posture angle estimation device 301 is reliable.

FIG. 4 is a block diagram showing a fourth aspect of the presentinvention. In the fourth aspect shown in FIG. 4, the horizontal plane isobtained, based on gravitational acceleration vectors for three axesacquired by a gravitational acceleration sensor 102; magnetic vectorsfor three axes obtained by a magnetic sensor 101 are regarded as ageomagnetic vector; a current location yaw angle acquisition device 303obtains the yaw angle for the geomagnetic vector, based on the currentlocation obtained by a position information acquisition device 103; anda yaw angle correction and absolute posture angle estimation device 302obtains the absolute posture angle, based on the yaw angle, thegeomagnetic vector and the horizontal plane. The current location yawangle acquisition device 303 includes a yaw angle database device 304for obtaining a yaw angle, based on the absolute location. The yaw angleis uniquely defined in accordance with an absolute location on earth,and a yaw angle database used to acquire a yaw angle at each point(absolute position) is constructed by referring, for example, to ageomagnetic map issued by the Geographical Survey Institute.

Data representing a correlation of the absolute position (e.g., thelatitude and the longitude) and a yaw angle at that position are storedin the yaw angle database device 304. Based on the absolute positionobtained by the position information acquisition device 103, the currentlocation yaw angle acquisition device 303 acquires, from the yaw angledatabase device 304, a yaw angle corresponding to the absolute location.The current location yaw angle acquisition device 303 converts theabsolute location obtained from the position information acquisitiondevice 103 into a general-purpose expression form (e.g., a latitude andlongitude description) for the position, issues an inquiry to the yawangle database device 304, while employing the expression form as a key,and obtains as a reply the yaw angle for the current location. Thisdevice is provided by using a special operation circuit or amicroprocessor (CPU), a program for a general-purpose computer, etc. Theyaw angle database device 304 is a device that includes a databasewherein absolute locations and corresponding yaw angles are stored incorrelation with each other, and a mechanism for comparing andextracting these data. The yaw angle database device 304 is provided byusing a storage medium, such as a magnetic disk or an optical disk, onwhich yaw angle database data are stored, a special operation circuit ora microprocessor (CPU) that obtains a geomagnetic dip angle by using anabsolute location as a key, a program for a general-purpose computer,etc. A table shown in FIG. 36, wherein absolute locations and yaw anglesare entered in correlation with each other, is employed, for example, asthe form for the data to be stored.

The yaw angle correction and the absolute posture angle estimationdevice 302 are provided by a microprocessor (a CPU), a program for ageneral-purpose computer, etc. A posture angle processing apparatus 320in this aspect is constituted as a processing module, and includes a dipangle estimation and determination module 110, the current location yawangle acquisition device 303 and the yaw angle correction and absoluteposture angle estimation device 302. In the posture angle processingapparatus 320, a signal output by the dip angle estimation anddetermination module 110 is used as a signal indicating whether theabsolute posture angle that is obtained and output by the yaw anglecorrection and absolute posture angle estimation device 302 is reliable.

FIG. 5 is a block diagram showing a fifth aspect of the presentinvention. In the aspect shown in FIG. 5, the movement detection device201 in the second aspect in FIG. 2 is replaced by a walking detectiondevice 401. The walking detection device 401 employs an accelerationsensor, mounted at the waist of a walking person, that detects walkingby measuring changes in acceleration in the vertical direction or in thedirection of travel. As another configuration, the walking detectiondevice 401 employs an angular velocity sensor, mounted at the waist of awalking person, that detects walking by measuring changes in angularvelocity in the direction of the pitch or the yaw.

FIG. 6 is a block diagram showing a sixth aspect of the presentinvention. In the aspect shown in FIG. 6, the horizontal plane isobtained in accordance with gravitational acceleration vectors for threeaxes acquired by a gravitational acceleration sensor 102, while magneticvectors for three axes obtained by a magnetic sensor 101 are regarded asgeomagnetic vectors, and a current absolute posture angle is calculated,based on the horizontal plane and the geomagnetic vectors. An absoluteposture angle estimation device 501 is a device for performing anoperation for calculating an absolute posture angle and for outputtingthe absolute posture angle, and is provided by using an operationcircuit or a microprocessor (a CPU), a program for a general-purposecomputer, etc. A posture angle processing apparatus 510 in this aspectis constituted as a processing module, and includes a posture angleprocessing module 210 and the absolute posture angle estimation device501. A signal output by the posture angle processing module 210 is usedas a signal indicating whether the absolute posture angle that isobtained and output by the absolute posture angle estimation device 501is reliable.

FIG. 7 is a block diagram showing a seventh aspect of the presentinvention. In the aspect shown in FIG. 7, the horizontal plane isobtained in accordance with gravitational acceleration vectors for threeaxes obtained by a gravitational acceleration sensor 102; magneticvectors obtained by a magnetic sensor 101 are regarded as a geomagneticvector along three axes; a current location yaw angle acquisition device503 obtains the yaw angle for the geomagnetic vector, based on thecurrent location obtained by a position information acquisition device103; and a yaw angle correction and absolute posture angle estimationdevice 502 obtains the absolute posture angle, based on the yaw angle,the geomagnetic vector and the horizontal plane. The current locationyaw angle acquisition device 503 includes a yaw angle database device504. Data representing a correlation of absolute locations (e.g., thelatitudes and the longitudes) and yaw angles at corresponding locationsare stored in the yaw angle data base device 504. Based on an absolutelocation obtained from the position information acquisition device 103,the current location yaw angle acquisition device 503 acquires, from theyaw angle database device 504, a yaw angle corresponding to the absolutelocation. The yaw angle correction and absolute posture angle estimationdevice 502 is provided by a microprocessor (a CPU), a program for ageneral-purpose calculator, etc. A posture angle processing apparatus520 in this aspect is constituted as a processing module, and includesthe current location yaw angle acquisition device 503 and the yaw anglecorrection and absolute posture angle estimation device 502. A signaloutput by the posture angle processing module 210 is used as a signalindicating whether the absolute posture angle that is obtained andoutput by the yaw angle correction and absolute posture angle estimationdevice 502 is reliable.

FIG. 8 is a block diagram showing an eighth aspect of the presentinvention. In the aspect shown in FIG. 8, the walking detection device401 in the fifth aspect in FIG. 5 is replaced by a walking detectiondevice 602 that detects walking by using a gravitational accelerationvector obtained by a gravitational acceleration sensor 102 and anacceleration vector obtained by an acceleration vector 601. Therefore,as the configuration for an apparatus, the acceleration sensor 601 andthe walking detection device 602 are provided. The walking detectiondevice 602 is provided by using a set consisting of a microprocessor(aCPU) and a processing program for detecting walking.

FIG. 9 is a block diagram showing a ninth aspect of the presentinvention. In the aspect shown in FIG. 9, an angular velocity sensor 701and an angular velocity addition and absolute posture angle estimationdevice 702 are provided in addition to the configuration for the thirdaspect (FIG. 3), or the configuration for the fourth aspect (FIG. 4).The angular velocity sensor 701 measures an angular velocity vectoralong three axes at an object to be measured, and is provided by using,for example, three gyro sensors ENC-03J marketed by Murata MFG. Co.,Ltd. The angular velocity addition and absolute posture angle estimationdevice 702 receives an absolute posture angle (output 1) that is outputas a reference by a posture angle processing apparatus 310 (or a postureangle processing apparatus 320), and a signal (output 2: a true signalor a false signal) indicating whether the absolute posture signal isreliable, and outputs the current absolute posture angle. When thesignal for output 2 is a true signal, the angular velocity addition andabsolute posture angle estimation device 702 designates, as thereference absolute posture angle, an absolute posture angle obtained,based on the output 1, and outputs this angle as the current absoluteposture angle. When the signal for output 2 is a false signal, based onan angular velocity vector measured by the angular velocity sensor 701,the angular velocity addition and absolute posture angle estimationdevice 702 updates the last reference absolute posture angle that isoutput as output 1 (i.e., is output as output 1 while a true signal isbeing output as output 2), and outputs the updated results as thecurrent absolute posture angle.

FIG. 10 is a block diagram showing a tenth aspect of the presentinvention. For an apparatus in the tenth aspect in FIG. 10, an angularvelocity sensor 801 and an angular velocity addition and an absoluteposture angle estimation device 802 are provided in addition to theconfiguration for the sixth aspect (FIG. 6), or the configuration forthe seventh aspect (FIG. 7). The angular velocity sensor 801 measures anangular velocity vector along three axes at an object to be measured.The angular velocity addition and absolute posture angle estimationdevice 802 receives the absolute posture angle (output 1) that isoutput, as a reference, by a posture angle processing apparatus 510 (ora posture angle processing apparatus 520), and a signal (output 2: atrue signal or a false signal) indicating whether the absolute postureangle (output 1) is reliable, and outputs the current absolute postureangle. When the signal for output 2 is a true signal, the angularvelocity addition and absolute posture angle estimation device 702designates, as a reference absolute posture angle, the absolute postureangle obtained, based on output 1, and outputs this angle as the currentabsolute posture angle. When the signal for output 2 is a false signal,based on an angular velocity vector measured by the angular velocitysensor 801, the angular velocity addition and absolute posture angleestimation device 702 updates the last reference absolute posture anglethat is output as output 1 (i.e., is output as output 1 while a truesignal is being output as output 2), and outputs the updated results asthe current absolute posture angle.

FIG. 11 is a block diagram showing an eleventh aspect of the presentinvention. In the aspect shown in FIG. 11, magnetic vector measurementmember 901 is a member for measuring magnetic vectors for three axes atan object to be measured, and is provided by using, for example,magnetic sensor HMC1052 or HMC1051Z, marketed by Honeywell Corp., and amicrocomputer that includes an A/D conversion port for reading thesensor data. Gravitational acceleration vector measurement member 902 isa device for measuring gravitational acceleration vectors for three axesat an object to be measured, and is provided by using, for example,acceleration sensor ADXL202E, marketed by Analog Devices Corp., amicroprocessor (CPU) that includes an A/D conversion port for readingthe sensor data and a filter program for the digital data.

Position information acquisition member 903 is a device for obtainingthe absolute location of an object to be measured, and is provided byusing, for example, a mechanism that obtains the latitude and thelongitude of the current location by employing a device that receives asignal from a GPS satellite. Magnetic vector depression anglecalculation member 904 employs magnetic vectors for three axes, whichare obtained by the magnetic vector measurement member 901, andgravitational acceleration vectors for three axes, which are obtained bythe gravitational acceleration vector measurement member 902, tocalculate angles formed by the magnetic vectors and the gravitationalacceleration vectors, and employs the obtained results to calculate thehorizontal plane and the magnetic vector. These members are provided byusing an operation circuit or a microprocessor (a CPU) that includes aprogram, a program for a general-purpose computer, etc. Current locationdip angle acquisition member 906 is provided by using an operationcircuit or a microprocessor (a CPU) that includes a program, a programfor a general-purpose computer, etc. The program for the operationcircuit converts the absolute location obtained by the positioninformation acquisition member 903 into a general-purpose expressionform (e.g., a latitude and longitude expression) that representsposition data, issues an inquiry to dip angle database storage andreference member 907 while using this expression form as a key, andobtains, as a reply, the geomagnetic dip angle for the current location.The dip angle database storage and reference member 907 is a device thatincludes a database wherein absolute locations and dip angles at thecorresponding locations are entered in correlation with each other, anda mechanism for the comparison and extraction of these data. The dipangle database storage and reference member 907 is provided by using astorage medium, such as a magnetic disk or an optical disk, on which thedata are stored, an operation circuit or a microprocessor (a CPU) thatincludes a program for obtaining a geomagnetic dip angle by using anabsolute location as a key, a program for a general-purpose calculator,etc. As previously described, a table form shown in FIG. 36, forexample, is employed as the form for the data to be stored. Comparisonmember 905 is a member for comparing a dip angle received from currentlocation dip angle acquisition member 906 with a depression anglereceived from the magnetic vector depression angle calculation member904. Output member 908 is processing a member for outputting a truesignal when an error, as a result of the comparison performed by thecomparison member 905, is within a predetermined range, and foroutputting a false signal in other cases. These members are provided byusing an operation circuit or a microprocessor (CPU) that includes acomparison and conditional branching operation and an output function, aprogram for a general-purpose computer, etc.

The processes performed by the individual member in this aspect are alsoperformed by the program for the general-purpose computer. Theprocessing performed by such a program will now be described.

A flowchart shown in FIG. 12 shows the processing corresponding to theeleventh aspect. During this processing, first, at step S101, magneticvectors for three axes are obtained, at step S102, gravitationalacceleration vectors for three axes are obtained, and then, at stepS103, an angle formed by the magnetic vector and the gravitationalacceleration vector is calculated. The angle formed by the magneticvector and the gravitational acceleration vector is the depression anglefor the magnetic vector relative to the horizontal plane. Thus, at stepS104, the current absolute location is obtained, at step S105, based onthe obtained absolute location, the geomagnetic dip angle is obtainedfor the current location, and at step S106, the depression angle and thegeomagnetic dip angle are compared. When an error between the two iswithin a predetermined range, program control is shifted to step S107,and in other cases, program control is shifted to step S108.

When program control is shifted to step S107, true (a true signal) isissued as the output of a module M110. When program control is shiftedto step S108, false (a false signal) is issued as the output of themodule M110.

FIG. 13 is a block diagram showing a twelfth aspect of the presentinvention. In the aspect shown in FIG. 13, movement detection member1001 is a member for detecting whether an object to be measured ismoving. In order to detect whether the object to be measured is moving,when the object is an automobile, a speedometer is employed, or when theobject is an airplane, a time-sequence change (a moving vector betweenthe previous location and time and the current location and time) ofabsolute location information obtained from a GPS satellite is acquired,or a ground speedometer is employed, or when the object is a humanbeing, a pedometer is employed. Signal output member 1002 outputs a truesignal when the movement detection member 1001 is detecting thecontinuous movement of the object to be measured, and at the same time,dip angle estimation and determination member 910 continuously outputs atrue signal, or outputs a false signal in other cases. The signal outputmember 1002 is provided by using an operation circuit or amicroprocessor (a CPU) that includes a comparison and conditionalbranching operation program and a temporary storage device, a programfor a general-purpose computer, etc.

The processes performed by the individual member in this aspect are alsoprovided by a program for a general-purpose computer. The processingperformed by such a program will now be described.

The flowchart in FIG. 14 shows the processing corresponding to thetwelfth aspect. During this processing, first, at step S201, the output(true or false) of the module M110 in FIG. 12 is obtained, and at stepS202, the moving state is obtained from the movement detection member.Then, at step S203, when the output obtained at step S201 is true andthe moving state obtained at step S202 indicated the object to bemeasured is currently moving, program control is shifted to step S204.In other cases, program control is shifted to step S207.

At step S204, a variable N, representing the count whereat programcontrol was sequentially shifted to step S204, is incremented by one. Atstep S205, a predesignated lower limit count M and the variable N arecompared, and when the variable N is greater, program control is shiftedto step S206. In other cases, program control is shifted to step S208.Then, at step S207, the variable N is set to 0. At step S206, true isissued as the output of a module M 210, and at step S208, false isissued as the output of the module M210.

FIG. 15 is a block diagram showing a thirteenth aspect of the presentinvention. In the aspect shown in FIG. 15, the horizontal plane isobtained, based on gravitational acceleration vectors for three axesobtained by gravitational acceleration vector measurement member 902,magnetic vectors for three axes obtained by magnetic vector measurementmember 901 are regarded as geomagnetic vectors, and the current absoluteposture angle is calculated in accordance with the horizontal plane andthe geomagnetic vectors. Absolute posture angle estimation member 1101is processing a member for performing this calculation and outputtingthe results, and is provided by using a microprocessor (aCPU), a programfor a general-purpose calculator, etc. In posture angle processingmember 1110 in this aspect, the output of dip angle estimation anddetermination member 910 is employed as output indicating whether theabsolute posture angle that is obtained and output by the absoluteposture angle estimation member 1101 is reliable.

The processes performed by the individual member in this aspect can bealso provided by a program for a general-purpose calculator. Theprocessing performed by such a program will now be described.

The flowchart in FIG. 16 shows the processing corresponding to thethirteenth aspect. During this processing, first, at step S301, magneticvectors for three axes are obtained, and at step S302, gravitationalacceleration vectors for three axes are obtained. Then, at step S303,the magnetic vectors obtained at step S301 are regarded as geomagneticvectors, and the current absolute posture angle is calculated inaccordance with the gravitational acceleration vector obtained at stepS302 and the geomagnetic vectors (the magnetic vectors). Following this,at step S304, the output (true or false) of a module M110 is obtained,and at step S305, the absolute posture angle obtained during the processat step S303 is output as output 1 for a module M310. Sequentially, atstep S306, the output (true or false) obtained at step S304 is regardedas a signal (a true signal or a false signal) indicating whether theabsolute posture angle output at step S305 is reliable, and is output asoutput 2 of the module M310.

FIG. 17 is a block diagram showing a fourteenth aspect of the presentinvention. In the aspect in FIG. 17, the horizontal plane is obtained inaccordance with gravitational acceleration vectors for three axesobtained by gravitational acceleration vector measurement member 902;magnetic vectors for three axes obtained by magnetic vector measurementmember 901 are regarded as geomagnetic vectors; current location yawangle acquisition member 1103 is employed to obtain the yaw angle forthe geomagnetic vector, based on the current location obtained byposition information acquisition member 903; and yaw angle correctionand absolute posture angle estimation member 1102 is employed to obtainthe absolute posture angle, based on the yaw angle, the geomagneticvector and the horizontal vector. Therefore, the current location yawangle acquisition member 1102 includes a yaw angle database storage andreference member 1104. It should be noted that the yaw angle is uniquelydefined in accordance with an absolute location on earth. The yaw angleat each point can be obtained by referring, for example, to ageomagnetic map issued by the Geographical Survey Institute. Since datarepresenting a correlation of the absolute location (e.g., the longitudeand the latitude) and the yaw angle at the corresponding location arestored in the yaw angle database storage and reference member 1104,based on an absolute location received from the position informationacquisition device 903, the current location yaw angle acquisitionmember 1103 extracts, from the yaw angle database storage and referencemember 1104, the yaw angle corresponding to this absolute location. Theyaw angle correction and absolute posture angle estimation member 1102is provided by using, for example, a set consisting of a microprocessor(a CPU) and a program for a general-purpose computer. For posture angleprocessing member 1120 in this aspect, the output of the dip angleestimation and determination member 910 is used as the output indicatingwhether the absolute posture angle that is obtained and output by theyaw angle correction and absolute posture angle estimation member 1102is reliable. The posture angle processing member 1120 is provided as aprocessing module.

The processes performed by the individual member in this aspect are alsoperformed by a program for a general-purpose computer. The processingperformed by such a program will now be explained.

The flowchart in FIG. 18 shows the processing corresponding to thefourteenth aspect. During this processing, first, at step S311 magneticvectors for three axes are obtained, at step S312 gravitationalacceleration vectors for three axes are obtained, and at step S313 theabsolute current location is obtained. Then, at step S314, thegeomagnetic yaw angle for the current location is obtained, based on theabsolute location acquired at step S313. Following this, at step S315,the yaw angle obtained at step S314 is corrected for the magnetic vectorobtained at step S311, the corrected magnetic vector is regarded as thegeomagnetic vector indicating the correct direction of north, and thecurrent absolute posture angle is calculated, based on this magneticvector and the gravitational acceleration vector obtained at step S312.At step S316, the output (true or false) of the module M110 (FIG. 12) isobtained, and at step S317, the absolute posture angle obtained at stepS315 is output as output 1 of this processing module M320. At step S318,the output (true or false) obtained at step S316 is used as a signalindicating whether the absolute posture angle output at step S317 isreliable. That is, the output at step S316 is employed as output 2 ofthe processing module M320.

FIG. 19 is a block diagram showing a fifteenth aspect of the presentinvention. In the aspect shown in FIG. 19, the movement detection member1001 in the twelfth aspect in FIG. 13 is replaced by walking detectionmember 1201. The walking detection member 1201 employs an accelerationsensor attached, for example, at the waist of a walker and detectswalking by measuring an acceleration change in either, or both, thevertical direction and the direction of travel, or employs an angularvelocity sensor attached, for example, at the waist of a walker, anddetects walking by measuring the angular velocity change in thedirection of the pitch or yaw, and by comparing this with the typicaltime-sequence pattern created by walking.

The processes performed by the individual member in this aspect are alsoperformed by a program for a general-purpose computer. The processingperformed by such a program will now be described.

The flowchart shown in FIG. 20 shows the processing corresponding to thefifteenth aspect. During this processing, first, at step S401, theoutput (true or false) of the module M110 in FIG. 12 is obtained, and atstep S402, the moving state is received from the walking detectionmember. Then, when, at step S403, the output obtained at step S401indicates true and when the moving state obtained at step S402 indicatesthe object is currently moving, program control is shifted to step S404.In other cases, program control is shifted to step S407. At step S404, avariable N indicating the count whereat program control is sequentiallyshifted to step S404 is incremented by one. At step S405, apredesignated lower limit count M and the variable N are compared, andwhen the variable N is greater, program control is shifted to step S406.In other cases, program control is shifted to step S408. At step S407whereat program control has been shifted from step S403, the variable Nis set to 0. At step S406, true is issued as the output of this moduleM410, and at step S408, false is issued as the output of the moduleM410.

FIG. 21 is a block diagram showing a sixteenth aspect of the presentinvention. In the aspect shown in FIG. 21, the horizontal plane isobtained in accordance with gravitational acceleration vectors for threeaxes obtained by gravitational acceleration vector measurement member902: magnetic vectors for three axes obtained by magnetic vectormeasurement member 901 are regarded as geomagnetic vectors; and thecurrent absolute posture angle is calculated, based on the horizontalplane and the geomagnetic vectors. Absolute posture angle estimationmember 1301 is a member for performing this calculation and outputtingthe result, and is provided, for example, by using a set consisting of amicroprocessor (CPU) and a program for a general-purpose computer. Forprocessing member 1310 in this aspect, the output of processing member1010 is employed as the output indicating whether the absolute postureangle that is obtained and output by the absolute posture angleestimation member 1301 is reliable.

The processes performed by the individual member in this aspect can alsobe performed by a program for a general-purpose computer. The processingperformed by such a program will now be explained.

The flowchart in FIG. 22 shows the processing corresponding to thesixteenth aspect. During this processing, first, at step S501, magneticvectors for three axes are obtained, and at step S502, gravitationalacceleration vectors for three axes are obtained. At step S503, themagnetic vectors obtained at step S501 are regarded as geomagneticvectors, and the current absolute posture angle is calculated, based onthe geomagnetic vectors (the magnetic vectors) and the gravitationalacceleration vectors obtained at step S502. At step S504, the output(true or false) of the module M210 is obtained. At step S505, theabsolute posture angle obtained at step S503 is output as output 1 ofthis module M510. And at step S506, the output (true or false) obtainedat step S505 is regarded as a signal (a true signal or a false signal)indicating whether the absolute posture signal output at step S505 isreliable, and this signal is output as output 2 of the module M510.

FIG. 23 is a block diagram showing a seventeenth aspect of the presentinvention. In the aspect in FIG. 23, the horizontal plane is obtained,based on gravitational acceleration vectors for three axes acquired bygravitational acceleration vector measurement member 902; magneticvectors for three axes obtained by magnetic vector measurement member901 are regarded as geomagnetic vectors; current location yaw angleacquisition member 1303 is employed to obtain the yaw angle of thegeomagnetic vector, based on the current location received from positioninformation acquisition member 903; yaw angle correction and absoluteposture angle estimation member 1302 is employed to calculate and outputthe absolute posture angle based on the yaw angle, the geomagneticvector and the horizontal plane obtained based on the gravitationalacceleration vector. The current location yaw angle acquisition member1303 includes yaw angle database storage and reference member 1304. Datarepresenting a correlation of the absolute location (e.g., the longitudeand the latitude) and the yaw angle at the corresponding point arestored in the yaw angle database storage and reference member 1304.Based on the absolute location received from the position informationacquisition member 903, the current location yaw angle acquisitionmember 1303 extracts, from the yaw angle database storage and referencemember 1304, the yaw angle corresponding to the absolute location. Theyaw angle correction and absolute posture angle estimation member 1302is provided by using, for example, a set consisting of a microprocessor(CPU) and a program for a general-purpose computer. For processingmember 1320 in this aspect, the output of processing member 1010 isemployed as output indicating whether the absolute posture angle that isobtained and output by the yaw angle correction and absolute postureangle estimation member 1302 is reliable.

The processes performed by the individual member in this aspect are alsoperformed by a program for a general-purpose computer. The processingperformed by such a program will now be described.

The flowchart in FIG. 24 shows the processing corresponding to theseventeenth aspect. During this processing, first, at step S511,magnetic vectors for three axes are obtained, at step S512,gravitational acceleration vectors for three axes are obtained, and atstep S513, the absolute current location is obtained. At step S514, thegeomagnetic yaw angle of the current location is obtained, based on theabsolute location obtained at step S513. At step S515, the yaw angleobtained at step S514 is corrected for the magnetic vectors obtained atstep S511, the corrected magnetic vectors are regarded as geomagneticvectors, and the current absolute posture angle is calculated, based onthe geomagnetic vectors and the gravitational acceleration vectorsobtained at step S512. At step S516, the output of the module M210 (trueor false) is obtained. At step S517, the current absolute posture angleobtained at step S515 is output as output 1 of this module M520. At stepS518, the output obtained at step S516 is regarded as a signal (a truesignal or a false signal) indicating whether the absolute posture signaloutput at step S517 is reliable, and this signal is output as output 2of the module M520.

FIG. 25 is a block diagram showing an eighteenth aspect of the presentinvention. In the aspect shown in FIG. 25, the walking detection member1201 in the fifteenth aspect in FIG. 19 is replaced by walking detectionmember 1402, which detects walking, based on acceleration vectors thatare detected by gravitational acceleration vector measurement member 902and acceleration vector measurement member 1401.

The processes performed by the individual member in this aspect are alsoperformed by a program for a general-purpose computer. The processingperformed by such a program will now be explained.

The flowchart in FIGS. 26, 27 and 28 shows the processing correspondingto the eighteenth aspect. A processing module MS630 in FIG. 28 includesa sub-processing module MS610 (FIG. 26) and a sub-processing moduleMS620 (FIG. 27) as components.

The processing performed by the sub-processing module MS610 is shown inFIG. 26. During this processing, at step SS601, acceleration vectors forthree axes are obtained, and at step SS602, gravitational accelerationvectors for three axes are obtained. Since because of gravity thegravitational acceleration component is included in the accelerationvectors obtained at step SS601, at step SS603, in order to remove thiscomponent, the gravitational acceleration vectors obtained at step SS602are subtracted from the acceleration vectors, and a travelingacceleration vector (an acceleration vector that does not include thegravitational acceleration component) is obtained. At step SS604, basedon the gravitational acceleration vectors obtained at step SS602, thetraveling acceleration vector is divided to the component in thevertical direction and the other component (i.e., the component in thedirection of the horizontal plane), and these components are obtained.At step SS605, the component in the vertical direction that is obtainedat step SS604 is stored as time-sequence data. Thereafter, at stepSS606, the component in the direction of the horizontal plane, obtainedat step SS604, is stored as time-sequence data.

The processing performed by the sub-processing module M620 is shown inFIG. 27. During this processing, first, at step SS611, the time-sequencedata for the component in the vertical direction, which have been storedby the sub-processing module MS610, are extracted for a specific periodof time. And the extracted time-sequence data are compared with atypical pattern, created by walking, for the component in the verticaldirection of the traveling acceleration vector to determine whether thedata and the pattern roughly match (match within a predetermined error).Then, at step SS612, a check is performed to determine whether thecomparison at step SS611 is successful. When the comparison issuccessful, program control is shifted to step SS613. When thecomparison fails, program control is shifted to step SS616. At stepSS613, the time-sequence data for the component in the direction of thehorizontal plane, which have been stored by the sub-processing moduleMS610, are extracted for a specific period of time. And the extractedtime-sequence data are compared with a typical pattern, created bywalking, for the component in the direction of the horizontal plane ofthe traveling acceleration vector to determine whether the data and thepattern roughly match (match within a predetermined error). Then, atstep SS614, a check is performed to determine whether the comparison issuccessful. When the comparison is successful, program control isshifted to step SS615, or when the comparison fails, program control isshifted to step SS616. At step SS615, true is issued as the output ofthe sub-processing module MS620. At step S5616, false is issued as theoutput of the sub-processing module MS620. As a result, thesub-processing module MS620 outputs a true signal or a false signal.

The processing performed by the processing module MS630 is shown in FIG.26. During the processing for this processing module, first, at stepS601, the process for the sub-processing module MS610 is performed, andat step S602, the process for the sub-processing module MS620 isperformed. Then, at step S603, the current time information is obtained.Sequentially, at step S604, a time T elapsed since the last output ofthe sub-processing module MS620 was true is measured and obtainedfollowing this, at step S605, the time T obtained at step S604 and apredesignated value Tmax are compared. When T<Tmax is established,program control is shifted to step 5606, or in other cases, programcontrol is shifted to step 5607. At step 5606, a signal indicating“moving state present” is output as the output of this module MS630. Atstep 5607, a signal indicating “moving state absent” is output as theoutput of the processing module MS630. The processing module MS630 isemployed, for example, as the moving detection member at step S202 inthe flowchart in FIG. 14.

FIG. 29 is a diagram for explaining the pattern for changingacceleration while walking. In FIG. 29, a typical pattern is shown (inthe graph, the label “vertical” is allocated for the component in thevertical direction, and the label “horizontal” is allocated for thecomponent in the direction of the horizontal plane). According to atypical pattern created during walking, a change in acceleration ischaracterized in that the component in the direction of the horizontalplane is raised, sequentially, the component in the vertical directionis increased, the component in the direction of the horizontal planereaches the peak first and then the component in the vertical directionreaches the peak, while the component in the direction of the horizontalplane is dropped first and then the component in the vertical directionis dropped. By identifying this pattern, walking can be accuratelydetected.

FIG. 30 is a block diagram showing a nineteenth aspect of the presentinvention. In the aspect shown in FIG. 30, in addition to the aspectsshown in FIGS. 15 and 17, an apparatus further includes angular velocityvector measurement member 1501 and angular velocity addition andabsolute posture angle estimation member 1502. The angular velocityvector measurement member 1501 measures an angular velocity vector alongthree axes for an object to be measured, and is provided by using, forexample, three gyrosensors ENC-03J, marketed by Murata MFG. Co., Ltd.The angular velocity addition and absolute posture angle estimationmember 1502 receives the absolute posture angle (output 1) that isoutput as a reference by posture angle processing member 1110 (orposture angle processing member 1120) and the output (output 2)indicating whether the absolute posture angle is reliable, and outputsthe current absolute posture angle. When the output 2 indicates true,the angular velocity addition and absolute posture angle estimationmember 1502 designates, as a reference absolute posture angle, theabsolute posture angle obtained as output 1, and outputs this angle asthe current absolute posture angle. When the output 2 indicates false,the angular velocity addition and absolute posture angle estimationmember 1502 updates the reference absolute posture angle, based on anangular velocity vector that is measured by the angular velocity vectormeasurement member 1501, and outputs the updated results as the currentabsolute posture angle.

The processes performed by the individual member in this aspect are alsoperformed by a program for a general-purpose computer. The processingperformed by such a program will now be described.

The flowchart shown in FIG. 31 shows the processing corresponding to thenineteenth aspect. During this processing, at step S701, the absoluteposture angle (output 1) is obtained from posture angle processingmember 1110, and at step S702, the output (output 2: true or false) ofthe posture angle processing member 1110 is obtained. When, at stepS703, the output obtained at step S702 indicates true, program controlis shifted to step S704, or when the output obtained at step S703indicates false, program control is shifted to step S705. At step S704,the absolute posture angle obtained at step S701 is set as a referenceabsolute posture angle. At step S705, an angular velocity vector alongthree axes is obtained, and at step S706, the reference absolute postureangle is updated by adding the angular velocity vector obtained at stepS705. Then, at step S707, the reference absolute posture angle is outputas the output of this processing module M710.

FIG. 32 is a block diagram showing a twentieth aspect of the presentinvention. In the aspect in FIG. 32, angular vector measurement member1501 and angular velocity addition and absolute posture angle estimationmember 1502 are additionally provided for the configuration of theaspects shown in FIGS. 21 and 23. The angular velocity vectormeasurement member 1501 measures an angular velocity vector along threeaxes for an object to be measured. The angular velocity addition andabsolute posture angle estimation member 1502 receives the absoluteposture angle (output l) that is output as a reference by posture angleprocessing member 1310 and the output (output 2) indicating whether theabsolute posture angle (output 1) is reliable, and outputs the currentabsolute posture angle. When the output 2 indicates true, the angularvelocity addition and absolute posture angle estimation member 1502designates, as a reference absolute posture angle, the absolute postureangle obtained as the output 1, and outputs this angle as the currentabsolute posture angle. When the output 2 is false, the angular velocityaddition and absolute posture angle estimation member 1502 updates thereference absolute posture angle, based on an angular velocity vectoralong three axes, that is measured by the angular velocity vectormeasurement member 1501, and outputs the updated results as the currentabsolute posture angle.

The processes performed by the individual member in this aspect are alsoperformed by a program for a general-purpose computer. The processingperformed by such a program will now be described.

The flowchart in FIG. 33 shows the processing corresponding to thetwentieth aspect. During this processing, at step S801, the absoluteposture angle (output 1) is obtained from posture angle processingmember 1310, and at step S802, the output (output 2) of the postureangle processing member 1310 is obtained. When, at step S803, the outputobtained at step S802 is true, program control is shifted to step S804,or when the output obtained at step S803 is false, program control isshifted to step S805. At step S804, whereat program control has beenshifted while assuming that the output is true, the absolute postureangle obtained at step S801 is set as a reference absolute postureangle. At step S805, whereat program control has been shifted whileassuming the output is false, an angular velocity vector along threeaxes is obtained, and at step S806, the reference absolute posture angleis updated by adding the angular velocity vector obtained at step S805.Then, at step S807, the reference absolute posture angle is output asthe output of a module M810.

INDUSTRIAL APPLICABILITY

According to the present invention, a posture angle processing apparatusthat can correctly obtain information for a posture angle can beprovided whereby, while being carried by a person, for example, correctinformation for the posture angle of the person can be obtained even inan environment wherein the stable acquisition of a reliable geomagneticvector is difficult because of a disruption caused by a magnetic field.In this case, information indicating whether the information for theposture angle that is output is reliable is also output, so that theinformation obtained for the posture angle can be variously andeffectively employed.

1. A posture angle processing apparatus comprising: a magnetic sensorfor detecting a magnetic vector; a gravitational acceleration sensor fordetecting a gravitational acceleration vector; a position informationacquisition device for obtaining an absolute location for a currentpoint; a dip angle database device for storing a correlation of theabsolute location and a geomagnetic dip angle at a corresponding point;and a dip angle estimation and determination device, for, based on theabsolute location of the current point received from the positioninformation acquisition device, reading a geomagnetic dip angle for thecurrent point from the dip angle database device, for employing themagnetic vector detected by the magnetic sensor and the gravitationalacceleration vector detected by the gravitational acceleration sensor tocalculate an angle formed by a horizontal plane and the magnetic vector,for comparing the angle formed by the magnetic vector and the horizontalplane with the geomagnetic dip angle for the current point, and for,when an error between the angle and the geomagnetic dip angle is withina predetermined range, outputting a true signal indicating that themagnetic vector detected by the magnetic sensor is reliable as ageomagnetic vector, and in other cases, outputting a false signalindicating that the current magnetic vector is not reliable.
 2. Theposture angle processing apparatus according to claim 1, furthercomprising: a movement detection device for detecting the presence orabsence of a moving state; and a signal output device, for, when themovement detection device is detecting a moving state over apredesignated moving distance or over a predesignated moving period oftime, and when the dip angle estimation and determination device iscontinuously outputting a true signal, outputting a true signalindicating that the current magnetic vector detected by the magneticsensor is reliable as a geomagnetic vector, and in other cases,outputting a false signal indicating that the current magnetic vector isnot reliable.
 3. The posture angle processing apparatus according toclaim 1, further comprising: an absolute posture angle estimationdevice, for, when the dip angle estimation and determination device isoutputting a true signal, estimating and outputting an absolute postureangle based on the magnetic vector detected by the magnetic sensor andthe gravitational acceleration vector detected by the gravitationalacceleration sensor.
 4. The posture angle processing apparatus accordingto claim 2, wherein the movement detection device includes a walkingdetection device for detecting a person is walking to determine thepresence or absence of a moving state.
 5. The posture angle processingapparatus according to claim 2, further comprising; an absolute postureangle estimation device, for, when the dip angle estimation anddetermination device is outputting a true signal, estimating andoutputting an absolute posture angle based on the magnetic vectordetected by the magnetic sensor and the gravitational accelerationvector detected by the gravitational acceleration sensor.
 6. The postureangle processing apparatus according to claim 4, wherein the walkingdetection device includes: an acceleration sensor for detecting thewalking of the person; and the walking detection device detects avertical direction in accordance with the gravitational accelerationvector detected by the gravitational acceleration sensor, detects atypical pattern created by the walking of the person, in accordance witha component in the vertical direction included in the accelerationvector that is detected by the acceleration sensor, detects a typicalpattern created by the walking of the person, in accordance with acomponent in the direction of a plane perpendicular to the verticaldirection of the acceleration vector, and employs the detection resultsof these patterns to detect the walking of the person.
 7. The postureangle processing apparatus according to claim 3, further comprising: anangular velocity sensor, wherein when the dip angle estimation anddetermination device is outputting a true signal, the absolute postureangle estimation device outputs, as a current absolute posture angle,the absolute posture angle output by the absolute posture angleestimation device, and when the dip angle estimation and determinationdevice is outputting a false signal, the absolute posture angleestimation device employs, as a reference, the last absolute postureangle that is output by the absolute posture estimation device,estimates the current absolute posture angle by adding an angularvelocity vector measured by the angular velocity sensor, and outputs theresults.
 8. The posture angle processing apparatus according to claim 5,further comprising: an angular velocity sensor, wherein when the dipangle estimation and determination device is outputting a true signal,the absolute posture angle estimation device outputs, as a currentabsolute posture angle, the absolute posture angle output by theabsolute posture angle estimation device, and when the dip angleestimation and determination device is outputting a false signal, theabsolute posture angle estimation device employs, as a reference, thelast absolute posture angle that is output by the absolute postureestimation device, estimates the current absolute posture angle byadding an angular velocity vector measured by the angular velocitysensor, and outputs the results.
 9. A posture angle processing method bywhich a posture angle process is performed by a posture angle processingapparatus that includes: a magnetic sensor for detecting a magneticvector, a gravitational acceleration sensor for detecting agravitational acceleration vector, a position information acquisitiondevice for obtaining an absolute location for a current point, a dipangle database device for storing a correlation of the absolute locationand a geomagnetic dip angle at a corresponding point, and a dataprocessing device, the posture angle processing method comprising thesteps of: based on an absolute location of a current point received froma position information acquisition device that obtains an absolutelocation of a current point, reading a geomagnetic dip angle for thecurrent point from a dip angle database device wherein a correlation ofthe absolute location and the geomagnetic dip angle at the correspondingpoint is stored; employing a magnetic vector detected by a magneticsensor and a gravitational acceleration vector detected by agravitational acceleration sensor to calculate an angle formed by ahorizontal plane and the magnetic vector; comparing the angle formed bythe magnetic vector and the horizontal plane with the geomagnetic dipangle for the current point, and when an error between the angle and thegeomagnetic dip angle is within a predetermined range, outputting a truesignal indicating that the magnetic vector detected by the magneticsensor is reliable as a geomagnetic vector, and in other cases,outputting a false signal indicating that the current magnetic vector isnot reliable.
 10. The posture angle processing method according to claim9, wherein a movement detection device that detects the presence orabsence of a moving state is detecting a moving state over apredesignated moving distance or over a predesignated moving period oftime; and the angle formed by the magnetic vector is compared with thehorizontal plane with the geomagnetic dip angle for the current point,and when an error between the angle and the geomagnetic dip angle iswithin a predetermined range, and when a true signal indicating that themagnetic vector detected by the magnetic sensor is reliable as ageomagnetic vector is continuously output, a true signal indicating thatthe current magnetic vector detected by the magnetic sensor is reliableas a geomagnetic vector is output, and in other cases, a false signalindicating that the current magnetic vector is not reliable is output.11. The posture angle processing method according to claim 9, whereinthe angle formed by the magnetic vector is compared with the horizontalplane with the geomagnetic dip angle for the current point, and when anerror between the angle and the geomagnetic dip angle is within apredetermined range, and when a true signal indicating that the magneticvector detected by the magnetic sensor is reliable as a geomagneticvector is continuously output, an absolute posture angle is estimatedand output based on the magnetic vector detected by the magnetic sensorand the gravitational acceleration vector detected by the gravitationalacceleration sensor.
 12. The posture angle processing method accordingto claim 10, wherein the movement detection device detects a person iswalking to determine the presence or absence of a moving state.
 13. Theposture angle processing method according to claim 10, wherein the angleformed by the magnetic vector is compared with the horizontal plane withthe geomagnetic dip angle for the current point, and when an errorbetween the angle and the geomagnetic dip angle is within apredetermined range, and when a true signal indicating that the magneticvector detected by the magnetic sensor is reliable as a geomagneticvector is continuously output, an absolute posture angle is calculatedand output based on the magnetic vector detected by the magnetic sensorand the gravitational acceleration vector detected by the gravitationalacceleration sensor.
 14. The posture angle processing method accordingto claim 12, wherein a vertical direction is detected in accordance withthe gravitational acceleration vector detected by the gravitationalacceleration sensor; a typical pattern created by the walking of theperson is detected, in accordance with a component in the verticaldirection included in an acceleration vector that is detected by anacceleration sensor that detects walking of a person; a typical patterncreated by the walking of the person is detected, in accordance with acomponent in the direction of a plane perpendicular to the verticaldirection of the acceleration vector; and the detection results of thepatterns are employed to detect the walking of the person.
 15. Theposture angle processing method according to claim 11, wherein the angleformed by the magnetic vector is compared with the horizontal plane withthe geomagnetic dip angle for the current point, and when an errorbetween the angle and the geomagnetic dip angle is within apredetermined range, and when a true signal indicating that the magneticvector detected by the magnetic sensor is reliable as a geomagneticvector is continuously output, an absolute posture angle is output as acurrent absolute posture angle based on the magnetic vector detected bythe magnetic sensor and the gravitational acceleration vector detectedby the gravitational acceleration sensor; and when the true signal isnot output, the last absolute posture angle that is output is employedas a reference to estimate the current absolute posture angle by addingan angular velocity vector measured by the angular velocity sensor, andthe results are output.
 16. The posture angle processing methodaccording to claim 13, wherein the angle formed by the magnetic vectoris compared with the horizontal plane with the geomagnetic dip angle forthe current point, and when an error between the angle and thegeomagnetic dip angle is within a predetermined range, and when a truesignal indicating that the magnetic vector detected by the magneticsensor is reliable as a geomagnetic vector is continuously output, anabsolute posture angle is output as a current absolute posture anglebased on the magnetic vector detected by the magnetic sensor and thegravitational acceleration vector detected by the gravitationalacceleration sensor; and when the true signal is not output, the lastabsolute posture angle that is output is employed as a reference toestimate the current absolute posture angle by adding an angularvelocity vector measured by the angular velocity sensor, and the resultsare output.